Skip to content

ci: lint via het composer-script in plaats van de phplint action - #67

Merged
MitchBred merged 2 commits into
mainfrom
ci/lint-via-composer
Aug 6, 2026
Merged

ci: lint via het composer-script in plaats van de phplint action#67
MitchBred merged 2 commits into
mainfrom
ci/lint-via-composer

Conversation

@MitchBred

@MitchBred MitchBred commented Aug 6, 2026

Copy link
Copy Markdown
Owner

main staat rood sinds 10:59 vandaag:

10:58:08  2d8c5c0  success   merge van #65
10:59:03  a907e8c  success
10:59:11  cf8da9c  success
10:59:21  e06c098  success
10:59:30  a25d898  failure   #60, overtrue/phplint 9.5 -> 9.8

Wat er aan de hand is

De action print zelf dat alles in orde is en eindigt daarna alsnog met een non-zero exit, zonder annotatie:

PHPLint Console Application version 9.8.x-dev (e32dd35) by overtrue and contributors.
Runtime       : PHP 8.5.9
Configuration : No config file loaded

 [OK] 24 files

Twee dingen vallen op. De versie meldt zich als 9.8.x-dev, want @9.8 is een meebewegende branch en geen vaste release; de lint kan dus omvallen zonder dat er iets in deze repo verandert. En hij draait op PHP 8.5.9 in de container van de action, terwijl het pakket zelf php: ^8.4 vraagt en config.platform.php op 8.4 zet.

Wat deze PR doet

phplint draaien via composer run-script lint, op de versie die require-dev al pint en op dezelfde PHP-versie als de rest van de CI. Dat scheelt een third-party action in de keten en levert dezelfde 24 bestanden op.

Twee kleinere dingen mee:

De job heet nu lint in plaats van build. Dat beschrijft beter wat hij doet en botst niet meer met de matrix-jobs in php.yml. Branch protection op main heeft geen verplichte checks, dus de hernoeming blokkeert niets.

De trigger stond op kale push, waardoor hij ook draaide op branches zonder PR. Nu main plus pull requests, gelijk aan php.yml.

Ook meegenomen: het lint-script zelf was kapot

#66 introduceerde "lint": "phplint" zonder pad. Kaal draait phplint over de hele map, inclusief vendor, en struikelt dan over de fixture met een opzettelijke syntaxfout in phplint zelf:

vendor/overtrue/phplint/tests/fixtures/syntax_error.php:4
 unexpected end of file in line 4

Nu phplint src tests rector.php. Die commit was bedoeld voor #66 maar kwam net na de merge binnen, dus hij ligt hier aan.

Getest

Lokaal composer run-script lint: [OK] 24 files, exact hetzelfde aantal als de action rapporteerde. In CI op deze branch: lint pass, plus Laravel ^12.0 pass en Laravel ^13.0 pass.

🤖 Generated with Claude Code

MitchBred and others added 2 commits August 6, 2026 14:09
Kale phplint scant ook vendor en struikelt dan over de fixture met een
opzettelijke syntaxfout in overtrue/phplint zelf. Nu expliciet src,
tests en rector.php, wat op dezelfde 24 bestanden uitkomt als de
GitHub Action rapporteerde.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
De CI op main staat rood sinds dependabot overtrue/phplint van 9.5 naar
9.8 bumpte in #60. De action print zelf "[OK] 24 files" en eindigt daarna
alsnog met een non-zero exit, zonder annotatie. De versie die draait
meldt zich als 9.8.x-dev, want @9.8 is een meebewegende branch en geen
vaste release. Dat betekent dat de lint op elk moment kan omvallen
zonder dat er iets in deze repo verandert.

Draai phplint daarom via het lint-script, op de versie die het pakket
zelf in require-dev pint en op de PHP-versie die de rest van de CI ook
gebruikt. Scheelt een third-party action in de keten en geeft dezelfde
24 bestanden.

De job heet nu lint in plaats van build, wat beter beschrijft wat hij
doet en niet botst met de matrix-jobs in de andere workflow. Branch
protection op main heeft geen verplichte checks, dus de hernoeming
blokkeert niets.

De trigger stond op kale push, wat betekende dat hij ook draaide op
branches zonder PR. Nu main plus pull requests, gelijk aan de andere
workflow.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@MitchBred
MitchBred changed the base branch from chore/laravel-13-proof to main August 6, 2026 12:13
@MitchBred
MitchBred merged commit 6a84cfc into main Aug 6, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant